iT邦幫忙

1

資料庫設計 (十) - 關聯(Relationships)

  • 分享至 

  • xImage
  •  

什麼是關聯?

在資料庫中,「關聯」是用來描述兩個資料表如何彼此關聯或被連接的方式。
雖然資料表可以獨立存在,但透過建立正確的關聯,可以提升資料的整體一致性與品質。

四種主要的關聯類型

  1. 一對一(One-to-One)
    表示「一個 X 只對應到一個 Y」。
    範例:
    一個人只會有一位配偶(如一位先生或一位太太)。

  2. 一對多(One-to-Many)
    這是最常見的關聯型態,意思是「一個 X 對應到多個 Y」。
    範例:
    一位老師(Teacher)可以教授多門科目(Subjects),但一門科目只能對應到一位老師。
    註:雖然在現實中可能有一門課有多位老師,但這裡為了簡化,假設每門課只有一位老師。

  3. 多對多(Many-to-Many)
    多對多的關聯在實際應用中很常見,但在資料庫設計中並不理想,因為不容易直接管理這種關係。
    範例:
    一位學生可以修多門科目,一門科目也可以有多位學生。
    解法:
    為了妥善儲存這樣的資料,我們會使用「中介表(Joining Table)」來拆解成兩個一對多的關係。
    例如:
    建立一張 student_subject 的中介表來記錄學生與科目的對應關係。

  4. 自我關聯(Self-Relationship)
    自我關聯是指一張資料表與自身的其他紀錄建立關聯。
    範例:
    員工(Employee)有一位主管(Manager),而主管本身也是一位員工,甚至可能還有上級主管。
    這時,我們不會另外為主管建立獨立的資料表,而是透過同一張 employees 表來引用自己的其他紀錄。

總結

關聯是資料表(或稱實體)彼此之間的連結方式,對於確保資料一致性與支援複雜資料結構非常重要。
常見的四種關聯類型:
一對一(One-to-One)
一對多(One-to-Many)
多對多(Many-to-Many,需透過中介表)
自我關聯(Self-Relationship)


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言